package tech.aistar.service;


import com.github.pagehelper.PageInfo;
import tech.aistar.entity.UserInfo;
import tech.aistar.entity.UserRelation;

import java.util.List;
import java.util.Map;

public interface IUserRelationService {

    //根据用户id 查出 它的关注的用户集合
    List<UserRelation> findFansNum(Integer id);

    //根据用户id 查出 它的粉丝的用户集合
    List<UserRelation> findFoucNum(Integer userByid);


    //    删除关注的人
    void delFouc(Integer id, Integer userByid);

    //添加两者关系
    void addShip(UserRelation userRelation);

    //检查俩者之前是否存在关系
    Long findShip(Integer id, Integer userByid, Integer status);

    //改变(增加)两者关系
    void chanageShip(Integer id, Integer userByid);

    //找出这个用户关注的人的集合信息
//    Map<Integer,List<UserInfo>> findFocuInfo(Integer userByid);
    List<UserInfo> findFocuInfo(Integer userByid);


    //找出这个用户的所有粉丝
    List<UserInfo> findFansInfo(Integer id);

//    bug!!!
//    PageInfo<UserInfo> findFoucInfo(Integer userByid, Integer pageNum, Integer pageSize);
//    PageInfo<UserInfo> findFansInfo(Integer id,Integer pageNum, Integer pageSize);

    //根据中间表分页
    Map<PageInfo<UserRelation>,List<UserInfo>> findFoucNum(Integer userByid, Integer pageNum, Integer pageSize);
    Map<PageInfo<UserRelation>,List<UserInfo>> findFansNum(Integer id,Integer pageNum, Integer pageSize);

    Boolean bothShip(Integer id,Integer userByid);
}
